From: koning@koning.enet.dec.com (Paul Koning) Newsgroups: rec.radio.amateur.misc Subject: Fixed PostScript logos Date: 3 Dec 91 21:51:40 GMT Organization: Digital Equipment Co., distributed systems architecture Lines: 304 Some time ago I posted an assortment of PostScript ham-related logos. Then Rick Mobley (rick@lrark.UUCP) pointed out some problems with the bounding box, so I went back and checked them. Two indeed had (dumb) mistakes in the bounding box, and a third had a glitch. So here are fixed editions of three logos: ARES, ARRL special service club, and QRP International. 73, paul, ni1d ======================== %!PS-Adobe-2.0 EPSF-1.2 %%BoundingBox: -3 -3 151 151 %%Creator: Paul Koning %%Title: ARRL ARES logo %%CreationDate: 89.12.21 %%EndComments % % The ARES logo % % The code below defines a PostScript function "ares-logo" which, when % invoked, paints the ARES logo at the current x/y. The resulting % image is 148 points square, in other words a hair over 2 inches. % % paul koning, 89.12.21 - created from the arrl diamond logo % 91.01.15 - fixed bug (stuff left on stack by arcto) % 91.12.03 - fixed bounding box % /bolt { newpath 0 0 moveto 22 -2 lineto 13 -7 lineto 32 -10 lineto 3 -10 lineto 14 -3 lineto closepath fill } def /cirdict 16 dict def /outsidecircletext { cirdict begin /radius exch def /centerangle exch def /ptsize exch def /str exch def /xradius radius ptsize 4 div add def % adjusted radius gsave centerangle str findhalfangle add rotate str { /charcode exch def ( ) dup 0 charcode put outsideplacechar } forall grestore end } def /insidecircletext { cirdict begin /radius exch def /centerangle exch def /ptsize exch def /str exch def /xradius radius ptsize 3 div sub def % adjusted radius gsave centerangle str findhalfangle sub rotate str { /charcode exch def ( ) dup 0 charcode put insideplacechar } forall grestore end } def cirdict begin /findhalfangle { stringwidth pop 2 div 2 xradius mul pi mul div 360 mul } def /outsideplacechar { /char exch def /halfangle char findhalfangle def gsave halfangle neg rotate radius 0 translate -90 rotate char stringwidth pop 2 div neg 0 moveto char show grestore halfangle 2 mul neg rotate } def /insideplacechar { /char exch def /halfangle char findhalfangle def gsave halfangle rotate radius 0 translate 90 rotate char stringwidth pop 2 div neg 0 moveto char show grestore halfangle 2 mul rotate } def /pi 3.1415926536 def end /ares-logo { gsave currentpoint translate newpath 5 setlinewidth 74 74 74 0 360 arc stroke gsave 87.15 89 translate 35 rotate bolt grestore gsave 56.905 68 translate 25 rotate -1 1 scale bolt grestore gsave 74 74 translate % set up for circular text /Helvetica findfont 14 scalefont setfont (AMATEUR RADIO) 14 90 55 outsidecircletext (EMERGENCY SERVICE) 14 270 66 insidecircletext grestore 54.275 29 translate 0.616 0.616 scale % scale for diamond 2 setlinewidth 1 setlinejoin % workaround for "spike" bug newpath 0 73 moveto 32 0 64 73 3 arcto pop pop newpath moveto 32 0 64 73 3 arcto pop pop pop pop 64 73 32 146 3 arcto pop pop pop pop 32 146 0 73 3 arcto pop pop pop pop 0 73 32 0 3 arcto pop pop pop pop closepath stroke % border for diamond 0 setlinejoin 4.5 73 moveto 32 10 lineto 59.5 73 lineto 32 136 lineto closepath fill % diamond body 1 setgray gsave 0 111 moveto 64 111 lineto 64 130 lineto 0 130 lineto clip newpath 1 setlinejoin 23 104 moveto 32 125 lineto 41 104 lineto 28 115 moveto 36 115 lineto stroke % letter A grestore 29 38 moveto 29 26 lineto 36 26 lineto stroke % letter L gsave 0 67 moveto 64 67 lineto 64 90 lineto 0 90 lineto clip newpath 14 67 moveto 14 82 lineto 18.5 82 lineto 18.5 78.5 3.5 90 -90 arcn 14 75 lineto 18 75 moveto 24 59 lineto stroke % left letter R 44 67 moveto 44 82 lineto 48.5 82 lineto 48.5 78.5 3.5 90 -90 arcn 44 75 lineto 48 75 moveto 54 59 lineto stroke % right letter R grestore 1.5 setlinewidth 31 41 moveto 33 41 lineto 29.375 43.75 moveto 34.625 43.75 lineto 27.75 46.5 moveto 36.25 46.5 lineto 26.125 49.25 moveto 37.875 49.25 lineto 24.5 52 moveto 39.5 52 lineto % ground symbol 32 52 moveto 32 60 lineto 25 60 25 68 33 68 curveto 39 68 39 64 33 64 curveto 25 64 25 76 33 76 curveto 39 76 39 72 33 72 curveto 25 72 25 84 33 84 curveto 39 84 39 80 33 80 curveto 25 80 25 88 32 88 curveto % coil 32 106 lineto 32 96 moveto 25 106 lineto 39 106 lineto closepath stroke % antenna grestore } def % display the diamond 0 0 moveto ares-logo showpage %!PS-Adobe-2.0 EPSF-1.2 %%BoundingBox: -2 -2 188 188 %%Creator: Paul Koning %%Title: ARRL diamond logo %%CreationDate: 89.12.20 %%EndComments % % The ARRL Special Service Club logo % % The code below defines a PostScript function "ssc-logo" which, when % invoked, paints the ARRL SSC logo at the current x/y. The resulting % image is 186 points square, which is 2.58 inches. % % paul koning, 89.12.20 - created, starting from the "diamond" logo % 89.01.10 - fixed a few angles % 89.09.20 - converted to EPSF file % 91.01.15 - fixed bug (stuff left on stack by arcto) % 91.12.03 - fixed bounding box % /ssc-logo { gsave currentpoint translate newpath 4 setlinewidth 93 93 93 0 360 arc % enclosing circle gsave stroke grestore clip newpath % use circle as clip region 135.8 0 moveto 186 0 lineto 186 186 lineto 135.8 186 lineto closepath fill % black region of circle 1.5 setlinewidth 0 124.5 moveto 120 124.5 lineto 140 170.125 lineto stroke 0 103.5 moveto 115.62 103.5 lineto 140 159.125 lineto stroke 0 82.5 moveto 115.62 82.5 lineto 140 26.875 lineto stroke 0 61.5 moveto 120 61.5 lineto 140 15.875 lineto stroke /Helvetica findfont 20 scalefont setfont 22 106.5 moveto (SPECIAL) show 22 85.5 moveto (SERVICE) show 40 64.5 moveto (CLUB) show 115.84 47 translate 0.63 0.63 scale % scale for the diamond 2 setlinewidth 1 setlinejoin % workaround for "spike" bug newpath 0 73 moveto 32 0 64 73 3 arcto pop pop newpath moveto 32 0 64 73 3 arcto pop pop pop pop 64 73 32 146 3 arcto pop pop pop pop 32 146 0 73 3 arcto pop pop pop pop 0 73 32 0 3 arcto pop pop pop pop closepath gsave 1 setgray fill grestore % erase inside of diamond stroke % border for diamond 0 setlinejoin gsave 0 111 moveto 64 111 lineto 64 130 lineto 0 130 lineto clip newpath 1 setlinejoin 23 104 moveto 32 125 lineto 41 104 lineto 28 115 moveto 36 115 lineto stroke % letter A grestore 29 38 moveto 29 26 lineto 36 26 lineto stroke % letter L gsave 0 67 moveto 64 67 lineto 64 90 lineto 0 90 lineto clip newpath 14 67 moveto 14 82 lineto 18.5 82 lineto 18.5 78.5 3.5 90 -90 arcn 14 75 lineto 18 75 moveto 24 59 lineto stroke % left letter R 44 67 moveto 44 82 lineto 48.5 82 lineto 48.5 78.5 3.5 90 -90 arcn 44 75 lineto 48 75 moveto 54 59 lineto stroke % right letter R grestore 1.5 setlinewidth 31 41 moveto 33 41 lineto 29.375 43.75 moveto 34.625 43.75 lineto 27.75 46.5 moveto 36.25 46.5 lineto 26.125 49.25 moveto 37.875 49.25 lineto 24.5 52 moveto 39.5 52 lineto % ground symbol 32 52 moveto 32 60 lineto 25 60 25 68 33 68 curveto 39 68 39 64 33 64 curveto 25 64 25 76 33 76 curveto 39 76 39 72 33 72 curveto 25 72 25 84 33 84 curveto 39 84 39 80 33 80 curveto 25 80 25 88 32 88 curveto % coil 32 106 lineto 32 96 moveto 25 106 lineto 39 106 lineto closepath stroke % antenna grestore } def % display the diamond 0 0 moveto ssc-logo showpage %!PS-Adobe-2.0 EPSF-1.2 %%BoundingBox: -14 -15 355 215 %%Creator: PStJTT -- bugfixes 91.01.14 by paul koning %%Title: QRP ARC Int'l logo %%CreationDate: 90.09.24 %%EndComments % % The QRP ARC International logo % % The code below defines a PostScript function "qrp-logo" which, when % invoked, paints the logo at the current x/y. % paul koning, 91.12.03 - fixed glitch (postscript interpreter % bug, actually) on letter "R" % /qrp-logo { gsave currentpoint translate 0 setlinejoin % First the 'Q/5' newpath 30 setlinewidth 75 75 75 190 165 arc stroke 3 99 moveto 3 200 lineto 350 200 lineto stroke % stem and horizontal stroke of '5' 130 20 moveto 150 0 lineto stroke % slash on 'Q' gsave 155 75 moveto 355 75 lineto 355 165 lineto 155 165 lineto clip % to keep the 'R' diagonal clean newpath 185 75 moveto 185 150 lineto 225 130 20 90 270 arcn 185 110 lineto % 'P' part of 'R' 210 110 moveto 235 65 lineto stroke % diagonal of 'R' % % 'P' % 280 75 moveto 280 150 lineto 320 150 lineto 320 130 20 90 270 arcn 280 110 lineto stroke grestore % cancel clip region % % The "Arrow" % 3 setlinewidth 45 30 moveto 70 50 lineto 70 100 lineto 63 100 lineto 75 120 lineto 87 100 lineto 80 100 lineto 80 50 lineto 105 30 lineto stroke grestore } def % display the logo 0 0 moveto qrp-logo showpage